#!/usr/bin/env python
# -*- coding:utf-8 -*-

# file:6_do_list_files_and_folders.py
# author:张世航
# datetime:2024/11/9 22:29
# software: PyCharm
"""
this is function  description 
"""
# import module your need


# 6  通过Python来实现显示给定文件夹下的所有文件和文件夹,以及时间，如果是文件，显示大小; 输出格式效果如下:
#     名称         日期                   类型（文件夹或者 文件）       大小
import os
from datetime import datetime


def list_files_and_folders(directory):
    """列出文件夹下的所有文件和文件夹"""
    print(f"{'名称':<30} {'日期':<25} {'类型':<10} {'大小 (bytes)':<15}")
    print("=" * 80)  # 打印分隔线

    for item in os.listdir(directory):
        item_path = os.path.join(directory, item)
        # 获取修改时间
        modified_time = datetime.fromtimestamp(os.path.getmtime(item_path)).strftime('%Y-%m-%d %H:%M:%S')

        if os.path.isfile(item_path):
            item_type = "文件"
            item_size = os.path.getsize(item_path)
        else:
            item_type = "文件夹"
            item_size = "-"  # 文件夹没有大小

        # 打印信息
        print(f"{item:<30} {modified_time:<25} {item_type:<10} {item_size:<15}")


# 使用示例
directory_path = "your_directory_path"  # 替换为实际路径

list_files_and_folders("D:\\文档\\python\\zhangshihang——python")